package com.yanqu.road.entity.activity.shuihuyezipai;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.player.UserBaseInfo;

/**
 * @Description
 * @Author cwq
 * @Data 2021/12/20 15:32
 */
@FieldTypeAnnotation(tableName = "t_u_activity_shuihuyezicard_battle_record_data")
public class ShuiHuYeZiCardBattleRecordData extends DataObject {
    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "用户ID", select = true, update = true)
    private long userId;
    @FieldTypeAnnotation(desc = "房间类型")
    private int roomType;
    @FieldTypeAnnotation(desc = "我方剩余卡牌数量")
    private int remainCardNum;
    @FieldTypeAnnotation(desc = "段位分")
    private int addRankScore;
    @FieldTypeAnnotation(desc = "当时的段位分")
    private int curRankScore;
    @FieldTypeAnnotation(desc = "获得的奖励")
    private String reward;
    @FieldTypeAnnotation(desc = "是否胜利")
    private boolean isWin;
    @FieldTypeAnnotation(desc = "对方剩余卡牌数量")
    private int targetRemainCardNum;
    @FieldTypeAnnotation(desc = "对手信息  pvp才有")
    private UserBaseInfo targetInfo;
    @FieldTypeAnnotation(desc = "npcId   pve才有")
    private int npcId;
    @FieldTypeAnnotation(desc = "对局开始时间")
    private long startTime;
    @FieldTypeAnnotation(desc = "对局结束时间")
    private int endTime;

    public int getActivityId() {
        return activityId;
    }
    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public long getUserId() {
        return userId;
    }
    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public int getRoomType() {
        return roomType;
    }
    public void setRoomType(int roomType) {
        if (this.roomType != roomType) {
            this.roomType = roomType;
            setOp(DataStatus.Update);
        }
    }

    public int getRemainCardNum() {
        return remainCardNum;
    }
    public void setRemainCardNum(int remainCardNum) {
        if (this.remainCardNum != remainCardNum) {
            this.remainCardNum = remainCardNum;
            setOp(DataStatus.Update);
        }
    }

    public int getAddRankScore() {
        return addRankScore;
    }
    public void setAddRankScore(int addRankScore) {
        if (this.addRankScore != addRankScore) {
            this.addRankScore = addRankScore;
            setOp(DataStatus.Update);
        }
    }

    public int getCurRankScore() {
        return curRankScore;
    }
    public void setCurRankScore(int curRankScore) {
        if (this.curRankScore != curRankScore) {
            this.curRankScore = curRankScore;
            setOp(DataStatus.Update);
        }
    }

    public String getReward() {
        return reward;
    }
    public void setReward(String reward) {
        if (reward == null){
            return;
        }
        if (this.reward == null || !this.reward.equals(reward)) {
            this.reward = reward;
            setOp(DataStatus.Update);
        }
    }

    public boolean getIsWin() {
        return isWin;
    }
    public void setIsWin(boolean isWin) {
        if (this.isWin != isWin) {
            this.isWin = isWin;
            setOp(DataStatus.Update);
        }
    }

    public int getTargetRemainCardNum() {
        return targetRemainCardNum;
    }
    public void setTargetRemainCardNum(int targetRemainCardNum) {
        if (this.targetRemainCardNum != targetRemainCardNum) {
            this.targetRemainCardNum = targetRemainCardNum;
            setOp(DataStatus.Update);
        }
    }

    public UserBaseInfo getTargetInfo() {
        return targetInfo;
    }
    public void setTargetInfo(UserBaseInfo targetInfo) {
        if (null == targetInfo){
            return;
        }
        if (this.targetInfo == null || !this.targetInfo.equals(targetInfo)) {
            this.targetInfo = targetInfo;
            setOp(DataStatus.Update);
        }
    }

    public long getStartTime() {
        return startTime;
    }
    public void setStartTime(long startTime) {
        if (this.startTime != startTime) {
            this.startTime = startTime;
            setOp(DataStatus.Update);
        }
    }

    public int getEndTime() {
        return endTime;
    }
    public void setEndTime(int endTime) {
        if (this.endTime != endTime) {
            this.endTime = endTime;
            setOp(DataStatus.Update);
        }
    }

    public int getNpcId() {
        return npcId;
    }

    public void setNpcId(int npcId) {
        if (this.npcId != npcId) {
            this.npcId = npcId;
            setOp(DataStatus.Update);
        }
    }
}
